
<!DOCTYPE html>

<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

    <title>Deploying an iPXE (x86) device &#8212; LAVA 2024.05 documentation</title>
    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
    <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
    <script src="_static/jquery.js"></script>
    <script src="_static/underscore.js"></script>
    <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
    <script src="_static/doctools.js"></script>
    <script src="_static/sphinx_highlight.js"></script>
    <link rel="shortcut icon" href="_static/favicon.ico"/>
    <link rel="index" title="Index" href="genindex.html" />
    <link rel="search" title="Search" href="search.html" />
    <link rel="next" title="HTTP proxies" href="proxy.html" />
    <link rel="prev" title="Deploying an ipmi/pxe-boot Device" href="ipmi-pxe-deploy.html" />
    <link rel="canonical" href="https://docs.lavasoftware.org/lava/ipxe.html" />
  
<meta charset='utf-8'>
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
<meta name="apple-mobile-web-app-capable" content="yes">
<script type="text/javascript" src="_static/js/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="_static/js/jquery-fix.js"></script>
<script type="text/javascript" src="_static/bootstrap-3.4.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="_static/bootstrap-sphinx.js"></script>


  </head><body>

  <div id="navbar" class="navbar navbar-default navbar-fixed-top">
    <div class="container">
      <div class="navbar-header">
        <!-- .btn-navbar is used as the toggle for collapsed navbar content -->
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand" href="index.html"><span><img src="_static/lava.png"></span>
          LAVA</a>
        <span class="navbar-text navbar-version pull-left"><b>2024.05</b></span>
      </div>

        <div class="collapse navbar-collapse nav-collapse">
          <ul class="nav navbar-nav">
            
                <li><a href="genindex.html">Index</a></li>
                <li><a href="contents.html">Contents</a></li>
            
            
              <li class="dropdown globaltoc-container">
  <a role="button"
     id="dLabelGlobalToc"
     data-toggle="dropdown"
     data-target="#"
     href="index.html">Site <b class="caret"></b></a>
  <ul class="dropdown-menu globaltoc"
      role="menu"
      aria-labelledby="dLabelGlobalToc"><ul class="current">
<li class="toctree-l1"><a class="reference internal" href="index.html">Introduction to LAVA</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="contents.html">Contents</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="glossary.html">Glossary of terms</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="support.html">Getting support</a></li>
</ul>
</ul>
</li>
              
                <li class="dropdown">
  <a role="button"
     id="dLabelLocalToc"
     data-toggle="dropdown"
     data-target="#"
     href="#">Page <b class="caret"></b></a>
  <ul class="dropdown-menu localtoc"
      role="menu"
      aria-labelledby="dLabelLocalToc"><ul>
<li><a class="reference internal" href="#">Deploying an iPXE (x86) device</a><ul>
<li><a class="reference internal" href="#preparing-the-target-test-device">Preparing the target test device</a></li>
<li><a class="reference internal" href="#dispatch-steps">Dispatch Steps</a></li>
<li><a class="reference internal" href="#kernel-ramdisk-and-rootfs-considerations">Kernel, Ramdisk and Rootfs considerations</a></li>
</ul>
</li>
</ul>
</ul>
</li>
              
            
            
              
                
  <li>
    <a href="ipmi-pxe-deploy.html" title="Previous Chapter: Deploying an ipmi/pxe-boot Device"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">&laquo; Deploying an ...</span>
    </a>
  </li>
  <li>
    <a href="proxy.html" title="Next Chapter: HTTP proxies"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">HTTP proxies &raquo;</span>
    </a>
  </li>
              
            
            
            
            
              <li class="hidden-sm"></li>
            
          </ul>

          
            
<form class="navbar-form navbar-right" action="search.html" method="get">
 <div class="form-group">
  <input type="text" name="q" class="form-control" placeholder="Search" />
 </div>
  <input type="hidden" name="check_keywords" value="yes" />
  <input type="hidden" name="area" value="default" />
</form>
          
        </div>
    </div>
  </div>

<div class="container">
  <div class="row">
    <div class="body col-md-12 content" role="main">
      
  <section id="deploying-an-ipxe-x86-device">
<h1>Deploying an iPXE (x86) device<a class="headerlink" href="#deploying-an-ipxe-x86-device" title="Permalink to this heading">¶</a></h1>
<p>This page describes the hardware and software setup for iPXE devices (x86
boards) More information on iPXE is available here <a class="reference external" href="http://ipxe.org/start">http://ipxe.org/start</a></p>
<section id="preparing-the-target-test-device">
<h2>Preparing the target test device<a class="headerlink" href="#preparing-the-target-test-device" title="Permalink to this heading">¶</a></h2>
<p>The target device will need the following:
* serial port
* network adapter supported by iPXE
* ability to boot from USB, CD-Rom
* OR a network adapter with a writable PXE ROM</p>
<p>Serial console support is not enabled in the standard binaries from
<a class="reference external" href="http://ipxe.org/">http://ipxe.org/</a> so a customized build is required. There is a pre-built binary
for USB drives available here:</p>
<p><a class="reference external" href="https://images.validation.linaro.org/lava-masters/ipxe.usb">https://images.validation.linaro.org/lava-masters/ipxe.usb</a></p>
<p>iPXE has colored text in the title prompt which can cause issues with the
expect library that LAVA uses to communicate with the device. To avoid this
issue the above USB binary has been patched to remove the color.</p>
</section>
<section id="dispatch-steps">
<h2>Dispatch Steps<a class="headerlink" href="#dispatch-steps" title="Permalink to this heading">¶</a></h2>
<p>The target boots iPXE from a USB disk or the network adapter ROM, and is
interrupted by LAVA. The kernel/ramdisk are fetched over HTTP from the
dispatcher and then booted. If an nfsrootfs is requested, it is extracted on
the dispatcher and then mounted by the device.</p>
</section>
<section id="kernel-ramdisk-and-rootfs-considerations">
<h2>Kernel, Ramdisk and Rootfs considerations<a class="headerlink" href="#kernel-ramdisk-and-rootfs-considerations" title="Permalink to this heading">¶</a></h2>
<p>If you are considering only using a ramdisk, do not make it too large as you
are restricted by available memory. The ramdisk should have enough logic and
tools to automatically bring up the network interface which is connected to the
LAVA dispatcher. An alternative is an NFS rootfs which has much more storage
space.</p>
<p>If you intend to use an NFS rootfs, your kernel will need NFS and networking
support, or you will need an accompanying ramdisk with the modules/scripts to
support NFS root devices.</p>
<p>In any case, either your kernel or your ramdisk will need networking support
for LAVA jobs to complete.</p>
</section>
</section>


    </div>
      
  </div>
</div>
<footer class="footer">
  <div class="container">
    <p class="pull-right">
      <a href="#">Back to top</a>
      
    </p>
    <p>
        &copy; Copyright 2010-2019, Linaro Limited.<br/>
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 5.3.0.<br/>
    </p>
  </div>
</footer>
  </body>
</html>